package main

import (
	"fmt"
	"runtime"
	"time"

	"github.com/shirou/gopsutil/cpu"
)

func GetSysInfo() (uint64, uint64, uint64, uint64, uint64, []float64) {
	// 获取 CPU 数量
	numCPU := runtime.NumCPU()
	// 获取内存占用情况
	var memStats runtime.MemStats
	runtime.ReadMemStats(&memStats)

	// fmt.Println("内存占用情况:")
	// fmt.Printf("已分配的内存（Alloc）: %v bytes\n", memStats.Alloc)
	// fmt.Printf("总分配的内存（TotalAlloc）: %v bytes\n", memStats.TotalAlloc)
	// fmt.Printf("系统分配的内存（Sys）: %v bytes\n", memStats.Sys)
	// fmt.Printf("内存占用量（InUse）: %v bytes\n", memStats.HeapInuse)

	percent, err := cpu.Percent(time.Millisecond*100, false)
	if err != nil {
		fmt.Println("无法获取CPU使用率:", err)
		return uint64(numCPU), memStats.Alloc, memStats.TotalAlloc, memStats.Sys, memStats.HeapInuse, []float64{0}

	} else {
		fmt.Printf("CPU 使用率: %.2f%%\n", percent[0])
		return uint64(numCPU), memStats.Alloc, memStats.TotalAlloc, memStats.Sys, memStats.HeapInuse, percent
	}
}
